package com.atguigu.gulimall.product.service;

import com.atguigu.gulimall.product.entity.CategoryBrandRelationEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.atguigu.common.utils.PageUtils;
import com.atguigu.gulimall.product.entity.BrandEntity;

import java.util.List;
import java.util.Map;

/**
 * 品牌
 *
 * @author DuGuanghan
 * @since 2024-02-02 16:13:25
 */
public interface BrandService extends IService<BrandEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 级联更新
     * 更新品牌表时同时更新其他关联表
     *
     * @param brand 品牌
     * @author DuGuanghan
     * @since 2024-01-19 11:15:56
     */
    void updateCascadeById(BrandEntity brand);

    /**
     * 保存品牌分类的管理关系
     *
     * @param relationEntity 品类品牌关系
     * @author DuGuanghan
     * @since 2024-01-19 09:54:19
     */
    void saveDetail(CategoryBrandRelationEntity relationEntity);

    /**
     * 获取分类关联的品牌
     *
     * @param catId 分类id
     * @return {@link List }<{@link BrandEntity }>
     * @author DuGuanghan
     * @since 2024-02-26 14:49:06
     */
    List<BrandEntity> getBrandsByCatId(Long catId);
}

